#ifndef MAPACTIONLISTENER_H_
#define MAPACTIONLISTENER_H_

#include <e32base.h>
#include "motionevent.h"

/**
 * 管理显示在MapView类中activity处理逻辑的基础类接口。
 * @author Administrator
 *
 * 2011-6-17 上午09:54:56
 *  
 * MapActionListener
 *
 */
class MapActionListener
{
public:
    /**
     * 双击地图事件回调
     * @param paramMotionEvent
     * @return
     */
	virtual TBool OnDoubleTapMap(const MotionEvent& event) = 0;

    virtual TBool OnFlingMap(const MotionEvent& event1,const MotionEvent& event2, float paramFloat1, float paramFloat2) = 0;

    /**
     * 长按地图事件回调
     * @param paramMotionEvent
     * @return
     */
    virtual TBool OnLongPressMap(const MotionEvent& event) = 0;
    
    /**
     * 地图源事件传递回调
     * @param paramMotionEvent
     * @return
     */
    virtual TBool OnOriginalTouchEvent(const MotionEvent& event) = 0;

    /**
     * 地图移动事件回调
     * @param paramMotionEvent1
     * @param paramMotionEvent2
     * @param paramFloat1
     * @param paramFloat2
     * @return
     */
    virtual TBool OnScrollMap(const MotionEvent& event1,const MotionEvent& event2, float paramFloat1, float paramFloat2) = 0;

    virtual TBool OnSingleTapMap(const MotionEvent& event) = 0;

    virtual TBool OnSingleTapMapUnhandled(const MotionEvent& event) = 0;

    /**
     * 触摸地图down事件回调
     * @param paramMotionEvent
     * @return
     */
    virtual TBool OnTouchMap(const MotionEvent& event) = 0;
    
    /**
     * 触摸地图up事件回调
     * @param paramMotionEvent
     * @return
     */
    virtual TBool OnUpFromMap(const MotionEvent& event) = 0;
}

#endif /* MAPACTIONLISTENER_H_ */
